package com.beikai.demo01.sort;

import com.alibaba.fastjson.JSONObject;

import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 *
 * @author : hanbeikai
 * Date: 2021/6/4 7:15 下午
 * Description: No Description
 */
public abstract class ArrSort {

    /**
     * 抽象排序方法
     * @param arr
     * @return
     */
    public abstract int[] sort(int[] arr);

    /**
     * 排序并打印结果
     * @param arr
     */
    void printSortArr(int[] arr) {
        int[] ints = Arrays.copyOf(arr, arr.length);
        System.out.println("排序之前的数组: " + JSONObject.toJSONString(ints));
        int[] sort = sort(ints);
        System.out.println("排序之后的数组: " + JSONObject.toJSONString(sort));
    }

    /**
     * 交换位置
     *
     * @param arr 数组
     * @param i   位置下标
     * @param j   位置下标
     */
    public void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}
